<?php

namespace App\Models\Orders;

use App\Models\BaseModel;

/**
 * 用户的信息 + 代理的关系信息 + 一些信息
 */
class OrdersUserOldModel extends BaseModel
{
    /**
     * 与模型关联的数据表。
     *
     * @var string
     */
    protected $table = 'orders_user_old';

    /**
     * 可以被批量赋值的属性。
     *
     * @var array
     */
    protected $fillable = array(
        'orderno',
        'dist_orderno',
        'dist_id',
        'dist_name',
        'contact_phone',
        'contact_name',
        'pay_name',
        'pay_phone',
        'pay_identity',
        'post_province',
        'post_city',
        'post_area',
        'post_address',
        'author_id',
        'author_name',
        'sell_name',
        'source_type',
        'source',
        'orders_info_id',
        'orders_info_one',
        'shop_id',
        'shop_str',
        'pay_money',
        'orders_id',
        'orders_id_one',
        'created_at'
    );
    // public $timestamps = false;

    public function aliasRable($alias)
    {
        return $this->setTable($alias);
    }

    /**
     * 查询数据需要过滤掉的属性。
     *
     * @var array
     */

    protected $hidden = array(
        'updated_at'
    );
    //返回关键字段
    public function getTableField()
    {
        return $this->fillable;
    }
    protected function serializeDate(\DateTimeInterface $date)
    {
        return $date->format('Y-m-d H:i:s');
    }
    /**
     * 建表语句
     */
    protected function buildTable($name = '')
    {
        $tablename = $this->table;
        if (!empty($name)) {
            $tablename = $name;
        }
        $table  = "CREATE TABLE IF NOT EXISTS  $tablename (
            `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
            `orderno` varchar(255) DEFAULT '' COMMENT '本系统订单号',
            `dist_orderno` varchar(255) DEFAULT '' COMMENT '下游单号',
            `dist_id` int(11) DEFAULT 0 COMMENT '下游id',
            `dist_name` varchar(255) DEFAULT '' COMMENT '下游名称',
            `contact_phone` varchar(100) DEFAULT '' COMMENT '联系人手机号',
            `contact_name` varchar(100) DEFAULT '' COMMENT '联系人名称',
            `pay_name` varchar(100) DEFAULT '' COMMENT '开卡人姓名',
            `pay_phone` varchar(100) DEFAULT '' COMMENT '开卡人联系方式',
            `pay_identity` varchar(100) DEFAULT '' COMMENT '身份证号',
            `post_province` varchar(100) DEFAULT '' COMMENT '发货省',
            `post_city` varchar(100) DEFAULT '' COMMENT '发货市',
            `post_area` varchar(100) DEFAULT '' COMMENT '发货区',
            `post_address` varchar(100) DEFAULT '' COMMENT '详细地址',
            `author_id` varchar(255) DEFAULT NULL COMMENT '达人id',
            `author_name` varchar(255) DEFAULT NULL COMMENT '达人名称',
            `sell_name` varchar(255) DEFAULT '' COMMENT '感叹号过来的代理/销售员',
            `source_type` varchar(255) DEFAULT '0' COMMENT '来源名称',
            `source` tinyint(2) DEFAULT '0' COMMENT '来源',
            `orders_id` int(11) DEFAULT '0' COMMENT 'orders_info 最后一条的数据',
            `orders_id_one` int(11) DEFAULT '0' COMMENT 'orders_info 第一条的数据',
            `pay_money` int(11) DEFAULT NULL COMMENT '支付金额',
            `shop_id` int(11) DEFAULT '0' COMMENT '店铺id',
            `shop_str` varchar(255) DEFAULT '0' COMMENT '店铺字符串 使用逗号隔开',
            `age` varchar(255) DEFAULT '0' COMMENT '年龄',
            `time` varchar(255) DEFAULT '0' COMMENT '下单的时间的小时',
            `sex` varchar(255) DEFAULT '0' COMMENT '性别',
            `created_at` datetime DEFAULT NULL COMMENT '创建时间',
            PRIMARY KEY (`id`),
            KEY `orderno` (`orderno`),
            KEY `dist_orderno` (`dist_orderno`),
            KEY `pay_phone` (`pay_phone`),
            KEY `author_id` (`author_id`),
            KEY `shop_str` (`shop_str`),
            KEY `shop_id` (`shop_id`),
            KEY `sell_name` (`sell_name`),
            KEY `source` (`source`)
            ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT='订单表';";
        return $table;
    }
    /**
     * 插入新的字段
     */
    protected function bulidField()
    {
        $array = [
            'updated_at' => "datetime DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间'",
            'is_trun' => "char(1) DEFAULT 0 COMMENT '是否转单'",
        ];
        return $array;
        //例子
        // $array = [
        //     'product_code' => "varchar(100) DEFAULT NULL COMMENT '产品信息'",
        //     'goods_code' => "varchar(100) DEFAULT NULL COMMENT '商品编码'",
        //     'is_edit' => "varchar(100) DEFAULT 0 COMMENT '是否修改'",
        //     'shop_name_str' => "varchar(255) DEFAULT '0' COMMENT '供应商名称字符串'",
        //     'shop_id_str' => "varchar(255) DEFAULT '0' COMMENT '供应商id字符串'",
        //     'sup_goods_name' => "varchar(255) DEFAULT '0' COMMENT '上游商品名称'",
        //     'sup_goods_id' => "int(11) DEFAULT null COMMENT '上游商品id'",
        //     'sup_goods_id_str' => "varchar(255) DEFAULT '0' COMMENT '上游商品id字符串'",
        //     'sup_shop_id' => "int(11) DEFAULT null COMMENT '分销商id'",
        //     'sup_shop_name' => "varchar(255) DEFAULT '0' COMMENT '分销商名称'",
        //     'shop_name' => "varchar(255) DEFAULT '0' COMMENT '店铺名称'",
        //     'source_type' => "varchar(255) DEFAULT '0' COMMENT '来源名称'",
        //     'author_id' => "varchar(255) DEFAULT null COMMENT '达人id'",
        //     'author_name' => "varchar(255) DEFAULT null COMMENT '达人名称'",
        //     'card_num' => "varchar(255) DEFAULT null COMMENT '卡号'",
        //     'province' => "varchar(100) DEFAULT '' COMMENT '号码归属地省'",
        //     'city' => "varchar(100) DEFAULT '' COMMENT '号码归属地市'",
        //     'sell_name' => "varchar(255) DEFAULT null COMMENT '感叹号过来的代理'",
        //     // 'is_sign' => "varchar(100) DEFAULT '0' COMMENT '标记 0未标记 1:已标记 2:取消标记'",
        //     'imei' => "varchar(100) DEFAULT null COMMENT '串号'",
        //     'pay_money' => "int(11) DEFAULT null COMMENT '支付金额'",
        //     'is_trun' => "char(1) DEFAULT 0 COMMENT '是否转单 0 不是转单 1 转单'",
        // ];
        // return $array;
    }
    // 关联 role表
    public function userToRole($role)
    {
        // return $this->hasMany(Role::className(),);
    }
    public function hasOrders()
    {
        // one_orders_id orders_id
        // id => orders_user_id
        return $this->hasMany("App\Models\Orders\OrdersModel", 'orders_user_id', 'id');
    }
    //订单的状态
    // 提交中 审核中 已发货 已签收 已激活 异常单  失败单 
    public function orderStatus()
    {
        return [
            0 => '提交中',
            1 => '提交上游',
            // 2 => '拒收单',
            10 => '审核中',
            11 => '待发货',
            20 => '已发货',
            30 => '已签收',
            40 => '已激活',
            50 => '异常单',
            51 => '取消单',
            60 => '失败单'
        ];
    }
    public function getOrderStatusDesc($key)
    {
        $allStatus = $this->orderStatus();
        return $allStatus[$key];
    }
    public function getSourceType()
    {
        return [
            1 => '抖音',
            2 => '导入',
            3 => 'H5',
            4 => '百度',
            5 => 'Api',
            6 => '供应商抖音',
            7 => '感叹号',
            8 => '小程序'
        ];
    }
    public function getOrderSource($key)
    {
        $allStatus = $this->getSourceType();
        return $allStatus[$key];
    }
    public function getIsEdit()
    {
        /**  1+ 用户信息修改 2+ 商品信息修改 3+ 产品信息修改
         */
    }
}
